home *** CD-ROM | disk | FTP | other *** search
-
- *--------------*
- | BigAnim v3.5 |
- *==============*
-
-
- What is BigAnim?
- ~~~~~~~~~~~~~~~~
- BigAnim is an animation player (you guessed it!), and it's called that
- because it is able to display animations that are too large to be loaded
- into memory directly.
-
- The two most important features of BigAnim are:
-
- o BigAnim loads the animation asynchronously, 100 KByte at a time, which
- means that while it displays one 100 KByte part of the animation, it is
- loading the next 100 KByte simultaneously.
-
- o If you're using Kickstart 3.0 or later, BigAnim will use the new double-
- buffering routines in graphics.library. If you're not, BigAnim will take
- over the display from Intuition, to increase playback speed. However, if
- you flip screens, or pull down BigAnim's screen, BigAnim will detect
- this, and use the old, intuition-friendly (and slow!) routines instead.
-
-
- Usage
- ~~~~~
- BigAnim can only be run from a CLI or shell, and the usage is:
-
- BigAnim filename [LOADALL] [HIRES] [BLANK] [VERBOSE]
- [BUFSIZE n] [RELTIME n] [TASKPRI n]
-
- where "filename" should refer to an ANIM type 5 or 7 animation. ANIM
- type 8 is not supported, due to its relative inefficiency compared to
- ANIM type 7. For best results, type 8 animations should be converted to
- type 7.
-
-
- Options
- ~~~~~~~
- LOADALL
-
- Tells BigAnim to load the whole animation before starting playback.
- Note that the animation is loaded in chunks, and the size of these
- chunks can be set with the BUFSIZE keyword.
-
- HIRES
-
- Forces the screen resolution to Hires/Interlace. This will only work
- if the original resolution was lores/nolace.
-
- BLANK
-
- Blanks the mouse pointer.
-
- VERBOSE
-
- BigAnim prints some info about the animation, such as screen size/depth,
- display modes, animation type, etc.
-
- Example: Explanation:
-
- File: Juggler File name
- Picture: 320 x 200 (48000 bytes) Picture size (width, height & bytes)
- Display: 320 x 200 x 6 planes Display resolution & depth
- Modes: LORES HAM View modes
- AnimType: 5 Anim type: 5, 7 (short) or 7 (long)
- Length: 24 frames The number of frames in the anim
- Speed: 48 fps Actual playback speed (frames/second)
- BufUsage: 94-99 % Buffer utilization percentage (min-max)
-
- Note: The actual numbers for the last four lines won't be printed until
- the animation has been displayed once (twice for the "Speed" and "BufUsage"
- numbers), simply because that information isn't available until then.
- The "BufUsage" numbers will not be printed if you're using the LOADALL switch.
-
- BUFSIZE n
-
- Sets the buffer size to n bytes. The default is 100 K (102400 bytes), which
- means that BigAnim loads 100 K at a time.
-
- RELTIME n
-
- Sets the playback timing, in 1/50 seconds if you're running on a PAL
- system, or 1/60 for NTSC systems.
-
- TASKPRI n
-
- This sets BigAnim's task priority during playback. If your hard disk
- controller doesn't use DMA, the playback will probably be less jerky if
- you use a high task priority. The best value for priority is generally
- the same as the file system or the hard disk driver uses. Actually,
- TASKPRI can be used with good results even on DMA controllers: On my
- setup with an A590 and a Quantum LP240S, the playback becomes somewhat
- smoother when I use TASKPRI 11.
-
-
- Keys
- ~~~~
- While the animation is being played, you can press the following keys:
-
- ESC - Quits BigAnim (you can also use the right mouse button)
- Space - Pauses the animation, or restarts if already paused
- N - If paused, displays the next frame
- TAB - Toggles colour cycling
- Shift TAB - Turns off cycling and restores the original colour map
- 0-9 - Changes playback speed. By pressing one of the keys 1-9 you
- can directly set the RELTIME value during playback. If you
- press 0, BigAnim will use the timing information stored in
- the animation.
-
-
- Environment
- ~~~~~~~~~~~
- If you want to use certain options or settings as default, you can save
- them in an environment variable called BIGANIMOPTS. So, for instance, if
- you always want to use a buffer size of 204800 bytes, do:
-
- SetEnv BIGANIMOPTS BUFSIZE 204800
-
- and BigAnim will use that instead of the built-in default of 102400 bytes.
- Values for BUFSIZE, RELTIME and TASKPRI set via BIGANIMOPTS can be over-
- ridden with the respective command line options. All options except LOADALL
- can be used in BIGANIMOPTS.
-
-
- Additional info
- ~~~~~~~~~~~~~~~
- o BigAnim supports CMAP chunks internal to the animation, and changes the
- screen colors accordingly.
-
- o BigAnim uses the RelTime field of the ANHD chunk to decide how much
- delay to put between frames. You can override this value by specifying
- a new value with the RELTIME keyword, or by pressing a number key during
- playback.
-
- o BigAnim uses two sets of specially optimised decompression routines,
- for processors with and without code cache.
-
-
- How to choose the best buffer size
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- To maximize playback speed, do this: If you have enough memory in your
- Amiga to load the entire animation, use the LOADALL switch. This will
- lead to the fastest possible playback. If you don't have that much
- memory, you can try different buffer sizes with the BUFSIZE keyword.
- Tip: If you use the VERBOSE option, BigAnim will measure the playback
- speed, so you can easily see how different buffer sizes affect playback.
- Also, the "BufUsage" numbers will tell you how well the buffers are
- utilized during playback.
-
- When choosing buffer size, please keep these facts in mind:
-
- 1. Due to the asynchronous nature of BigAnim's loading method, using
- the largest possible buffer size may not give the fastest playback.
-
- 2. Certain combinations of file size and buffer size should be avoided.
- An example: If you use a buffer size of 300 KBytes with an animation
- that's 1000 KBytes long, then the first three reads will read 300 KBytes
- each, but the fourth will only read 100 KBytes. This is clearly not
- optimal. It would be much better to use a buffer size of 250 or 334
- KBytes (or just a little bit more, to be on the safe side). So, in
- cases when the last read of an animation is less than half as long as
- the others, BigAnim will print a warning message: "non-optimal buffer
- size".
-
- There are two common problems often encountered while trying to find the
- ideal settings:
-
- Common problem #1: Sometimes the playback stops for a while, then continues.
-
- Reason: Either (1) your hard disk cannot read fast enough to keep up with
- the playback, (2) your hard disk doesn't have enough buffers, or (3) the hard
- disk driver uses all available CPU time so the playback stops.
-
- Solution: (1) Increase buffer size, and/or use RELTIME to slow down play-
- back so the hard disk can keep up. (2) Use "AddBuffers" to add more buffers
- to your hard disk. BigAnim uses the DOS "Seek" function from time to time, and
- the "Seek" operation will be much faster if you have enough buffers. "Enough"
- is approximately one buffer for every 36 KBytes of data in the animation file.
- (3) Use TASKPRI to increase BigAnim's task priority. Usually, using the same
- priority that the hard disk driver uses will give the best results.
-
- Common problem #2: Now and then the playback slows down temporarily.
-
- Reason: Due to hard disk transfer, the decompression can't be done at full
- speed.
-
- Solution: Use RELTIME to slow down playback. The playback will of course
- be slower, but not as jerky as before.
-
-
- Future additions
- ~~~~~~~~~~~~~~~~
- I am currently working on additions to the IFF ANIM standard, so that IFF
- 8SVX sounds can be stored inside the animation file, and played at certain
- points in the animation. Future versions of BigAnim will support this, and
- possibly also loops, so that parts of an animation can be played back
- repeatedly.
-
-
- Disclaimer
- ~~~~~~~~~~
- #include <std/disclaimer.h>
-
-
- Distribution
- ~~~~~~~~~~~~
- BigAnim is freely distributable, as long as BigAnim and all related files
- are distributed unchanged.
-
-
- Feedback
- ~~~~~~~~
- If you want to send me suggestions, bug reports, etc, I can
- be reached at:
-
- Internet: d8sunch@dtek.chalmers.se
-
- Snail-mail: Christer Sundin
- 7321 Bollestad
- S-442 93 Kungälv
- Sweden
-
-